// 格式化日期
function formatDate(addDay, time) {
	var d = new Date();
	d.setDate(d.getDate() + addDay * 1);// 当前日期+几天
	var str = '';
	var FullYear = d.getFullYear();
	var Month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1)
			: d.getMonth() + 1;
	var Day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
	var Hours = d.getHours() < 10 ? '0' + d.getHours() : d.getHours();
	var Minutes = d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes();
	var Seconds = d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds();
	str += FullYear + '-'; // 获取当前年份
	str += Month + '-'; // 获取当前月份（0——11）
	if (time == 1) {
		str += Day;
	} else if (time == 2) {
		str += Day + ' ';
		str += Hours + ':';
		str += Minutes + ':';
		str += Seconds;
	}
	return str;
}

// 获取类型
function getType(str) {
	if (typeof str == "undefined") {
		return "undefined";
	} else if (str == null) {
		return "null";
	} else if (typeof str == "string"
			&& (str === "" || str === "undefined" || str === "null")) {
		return "string";
	} else if (typeof str == "object" && $.isArray(str) && str.length == 0) {
		return "list";
	} else if (typeof str == "object" && $.isEmptyObject(str)) {
		return "map";
	}
}

// 为空判断
function isNull(str) {
	if (typeof str == "undefined") {
		return true;
	} else if (str == null) {
		return true;
	} else if (typeof str == "string"
			&& (str === "" || str === "undefined" || str === "null")) {
		return true;
	} else if (typeof str == "object" && $.isArray(str) && str.length == 0) {
		return true;
	} else if (typeof str == "object" && $.isEmptyObject(str)) {
		return true;
	} else {
		return false;
	}
}

// 是否为方法判断
function isFunction(func) {
	if (!isNull(func) && typeof func == "function") {
		return true;
	} else {
		return false;
	}
}

// 是否是字符串
function isString(str) {
	if (typeof str == "string")
		return true;
	else
		return false;
}

// 是否为数字
function isNumber(value) {
	if (isNaN(value)) {
		return false;
	} else {
		return true;
	}
}

// 是否为邮箱
function isEmail(value) {
	var regEmail = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/; // ,//邮箱
	if (regEmail.test(value) && !isNull(value)) {
		return true;
	} else {
		return false;
	}
}

// 是否为手机
function isPhone(value) {
	var regMobile = /^0?1[3|4|5|7|8][0-9]\d{8}$/; // 手机
	if (!isNull(value) && !isNaN(value) && regMobile.test(value)) {
		return true;
	} else {
		return false;
	}
}

//获取Iframe url的参数值 
//iframe_id iframe的id, name参数名
function getIframeUrlParamValue(iframe_id, name){
	var url = parent.document.getElementById(iframe_id).contentWindow.location.href;
 var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);  
 if (!results)  
 {   
     return 0;   
 }  
 return results[1] || 0;  
} 

// 获取url的参数
function getUrlParam(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null)
		return unescape(r[2]);
	return null;
}
/*
 * 获取url的参数并进行解密 escape() unescape()
 */
function getUrlUnescapeParam(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null)
		return unescape(r[2]);
	return null;
}
/*
 * 获取url的参数并进行解密 encodeURI() decodeURI()
 */
function getUrlDecodeURIParam(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null)
		return decodeURI(r[2]);
	return null;
}
/*
 * 获取url的参数并进行解密 encodeURIComponent() decodeURIComponent()
 */
function getUrlDecodeURIComponentParam(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null)
		return decodeURIComponent(r[2]);
	return null;
}
function jqPostJson(url, data, callback, errorback) {
	return ajaxQ({
		url : url,
		data : JSON.stringify(data),
		callback : callback,
		type : "POST",
		error : errorback
	});
}

// (新)ajax 访问服务器端,异步访问服务器端，获取JSON返回结果
function ajaxQ(obj) {
	var opt = {
		"type" : obj.type || "get",
		"url" : encodeURI(__formatUrl(obj.url)),
		"data" : obj.data || {},
		"dataType" : obj.dataType || "JSON",
		"callback" : obj.callback || function() {
			alert("操作成功");
		},
		"error" : function(msg) {
			if (msg && msg === "") {
				return;
			}
		}
	};

	return $.ajax({
		type : opt.type, // 请求方式
		dataType : opt.dataType,
		url : opt.url,
		data : opt.data,
		contentType : "application/json; charset=UTF-8",
		timeout : 60000,
		success : function(data) {
			if (data != null) {
				opt.callback(data);
			}
		},
		// 获取错误信息
		error : function(data, XMLHttpRequest, textStatus, errorThrown) {

		}
	});
}
// val为路径地址
function __formatUrl(val) {
	if (val.lastIndexOf("?") != -1) {
		if (val.lastIndexOf("?") !== val.length - 1) {
			val += "&r=" + Math.random();
		} else {
			val += "r=" + Math.random();
		}
	} else {
		val += "?r=" + Math.random();
	}

	return val;
}

function ajaxR(url, valData) {
	var returnVal;
	url = __formatUrl(url);
	$.ajax({
		type : "POST",
		async : false,
		url : encodeURI(url),
		data : valData,
		contentType : "application/json; charset=UTF-8",
		timeout : 60000,
		success : function(data) {
			returnVal = data;
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
		}
	});
	return returnVal;
}

function ajaxJsonp(url, valData) {
	var returnVal;
	url = __formatUrl(url);
	$.ajax({
		type : "GET",
		url : encodeURI(url),
		dataType : 'jsonp',
		data : valData,
		contentType : "application/jsonp; charset=utf-8",
		success : function(data) {
			returnVal = data;
			alert(true);
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert("请求数据异常，状态码：" + XMLHttpRequest.status);
		}
	});
	return returnVal;
}
Array.prototype.indexOf = function(val) { // prototype 给数组添加属性
	for (var i = 0; i < this.length; i++) { // this是指向数组，this.length指的数组类元素的数量
		if (this[i] == val)
			return i; // 数组中元素等于传入的参数，i是下标，如果存在，就将i返回
	}
	return -1;
};
Array.prototype.remove = function(val) { // prototype 给数组添加属性
	var index = this.indexOf(val); // 调用index()函数获取查找的返回值
	if (index > -1) {
		this.splice(index, 1); // 利用splice()函数删除指定元素，splice() 方法用于插入、删除或替换数组的元素
	}
};
Date.prototype.format = function(pat) {
	var year = this.getFullYear();
	var month = this.getMonth() + 1;
	var day = this.getDate();
	var hour = this.getHours();
	var minute = this.getMinutes();
	var second = this.getSeconds();
	month = month > 9 ? month : '0' + month;
	day = day > 9 ? day : '0' + day;
	hour = hour > 9 ? hour : '0' + hour;
	minute = minute > 9 ? minute : '0' + minute;
	second = second > 9 ? second : '0' + second;
	if (!pat) {
		pat = 'yyyy-MM-dd HH:mm:ss';
	}
	pat = pat.replace(/yyyy/g, year);
	pat = pat.replace(/MM/g, month);
	pat = pat.replace(/dd/g, day);
	pat = pat.replace(/HH/gi, hour);
	pat = pat.replace(/mm/g, minute);
	pat = pat.replace(/ss/g, second);
	return pat;
};
// string 'yyyy-MM-dd HH:mm:ss' -> date
Date.parse2 = function(str, sepDate, sepTime) {
	if (!str)
		return null;

	// typeof str === number
	if (typeof str === 'number')
		return new Date(str);

	sepDate = sepDate || '-';
	sepTime = sepTime || ':';

	var arr = str.split(' ');
	var ymd = arr[0];
	var arrYmd = ymd.split(sepDate);

	if (arrYmd.length != 3) {
		return null;
	}

	var dat = new Date(2000, 0, 1);
	dat.setFullYear(parseInt(arrYmd[0], 10));
	dat.setMonth(parseInt(arrYmd[1], 10) - 1);
	dat.setDate(parseInt(arrYmd[2], 10));

	if (arr.length > 1) {
		var hms = arr[1];
		var arrHms = hms.split(sepTime);

		dat.setHours(parseInt(arrHms[0], 10));
		if (arrHms.length > 1)
			dat.setMinutes(parseInt(arrHms[1], 10));
		if (arrHms.length > 2)
			dat.setSeconds(parseInt(arrHms[2], 10));
	} else {
		dat.setHours(0);
		dat.setMinutes(0);
		dat.setSeconds(0);
	}

	return dat;
};
/**
 * 弹出确认信息
 * 
 * @param msg
 * @param defineHandler
 *            点击确定，回调函数
 * @param btnAndHandler
 *            可自定义多个按钮，并绑定事件
 */
function showConfirm(msg, defineHandler, btnAndHandler) {
	btnAndHandler = btnAndHandler || [ {
		text : '取消',
		handler : function() {

		}
	}, {
		text : '确定',
		handler : function() {
			if (defineHandler) {
				defineHandler.call(this);
			}
		}
	} ];
	var dom = '<div class="myord_win"></div>';
	dom += '<div class="myord_win_msg">';
	dom += ' <span>' + msg + '</span> <p >';
	$(btnAndHandler).each(function(i, btn) {
		dom += '<em xindex="' + i + '">' + btn.text + '</em> ';
	});
	dom += '</p></div>';

	$('body').append(dom);

	$('.myord_win').show();
	$('.myord_win_msg').show();

	$('.myord_win_msg em').bind('touchend', function() {
		var index = $(this).attr('xindex');
		btnAndHandler[index].handler.call(this);
		$('.myord_win_msg em').unbind('touchend');
		$('.myord_win').remove();
		$('.myord_win_msg').remove();
	});
}
/**
 * 显示提示信息
 * 
 * @param msg
 * @param back
 */
function showMsg(msg, back) {
	showConfirm(msg, null, [ {
		text : '确定',
		handler : back || function() {

		}
	} ]);
}

/**
 * 获取汽车配件类型
 * 
 * @param index
 * @returns
 */
function getCarAscription(index) {
	if (!index || index <= 0 || index > 3) {
		return '';
	}
	var name = [ '原厂件', '同质件', '品牌件', '其他' ];
	return name[index - 1];
}

function getUserInfo(_$){
	//$.cookie('userInfo', '{"userId": 10002, "userType": 1,"mobile": "18334784369", "companyName": "Deeds wedded","userStatus":0}');
    /*var us = $.cookie('userInfo');
    if(us==null){
    	alert('没有登录!');
    }*/
    return JSON.parse( '{"userId": 10002, "userType": 1,"mobile": "18334784369", "companyName": "Deeds wedded","userStatus":0}');
}
 


var base = {};


base.baseAjax = function (opt){
	var option = {
		url : null,
		type : 'post',
		dataType : 'json',
		data : {},
		success : null
	}
	option.error = function () {
		
	}
	
	$.extend(option,opt);
	
	return $.ajax({
		type : option.type, // 请求方式
		dataType : option.dateType,
		url : option.url,
		data : option.data,
		timeout : 60000,
		success : option.success,
		// 获取错误信息
		error : option.error
	})
}

base.ajaxHttl = function(url,data,back){
	return base.baseAjax({url:url,data:data,success:back,dataType:'html'});
}
base.ajaxJson = function(url,data,back){
	return base.baseAjax({url:url,data:data,success:back});
}

